/***************************************************************************
 *  Copyright (C) 2009, 2010 by Axel Jaeger <axeljaeger@googlemail.com>    *
 *                                                                         *
 *  This file is part of Glowworm.                                         *
 *                                                                         *
 *  Glowworm is free software: you can redistribute it and/or modify       *
 *  it under the terms of the GNU General Public License as published by   *
 *  the Free Software Foundation, version 3 of the License.                *
 *                                                                         *
 *  Glowworm is distributed in the hope that it will be useful,            *
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of         *
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
 *  GNU General Public License for more details.                           *
 *                                                                         *
 *  You should have received a copy of the GNU General Public License      *
 *  along with Glowworm.  If not, see <http://www.gnu.org/licenses/>.      *
 ***************************************************************************/

#ifndef ABSTRACTSERVLET_H
#define ABSTRACTSERVLET_H

#include <QObject>
#include <QString>

class HttpRequest;
class HttpResponse;
class HttpServer;

class AbstractServlet : public QObject
{
Q_OBJECT
public:
    explicit AbstractServlet(HttpServer* parent);
    ~AbstractServlet();

    virtual void request(HttpRequest* request, HttpResponse* response) = 0;

    HttpServer* server() const;

protected:
    void log(const QString & message);

private:

};

#endif // ABSTRACTSERVLET_H
